﻿#ifndef BPA_STATIC_SECURITY_H
#define BPA_STATIC_SECURITY_H

#ifdef STATIC_SECURITY_EXPORTS
#define STATIC_SECURITY_API __declspec(dllexport)
#else
#define STATIC_SECURITY_API __declspec(dllimport)
#endif


#include <vector>
#include <string>

namespace BPA{
	namespace impl
	{
		class N_KAnalysis;
	}
	// 此类是从 StaticSecurity.dll 导出的
	class STATIC_SECURITY_API BPA_N_K_Analysis
	{
	public:
		explicit BPA_N_K_Analysis(const char* database,
			int caseid,
			const std::vector<std::string>& Zone,
			const std::vector<double>& Voltage);
		~BPA_N_K_Analysis();

		//配置函数
		int BPA_N_K_Configure();

		//静态N-1分析
		int BPA_N_1_Analysis();

		//静态N-2分析
		int BPA_N_2_Analysis();

		//静态N-3分析
		int BPA_N_3Analysis();

	private:
		impl::N_KAnalysis* p_impl;
	};
}
#endif
